export function filter_router(permi, routes) { // 根据后端返回的路由路径字段匹配有权限路由

  /* 如果说是找不同的就要立flag */

  // 1.只要父亲合法就筛选出来
  let newData = []
  // 2. 父亲合法的前提下将儿子合法
  let FatherSonArr = []

  routes.forEach(op => {
    permi.forEach(item => {
      if (op.path === item) {
        newData.push(op)
      }
    })
  })

  newData.forEach(op => {
    if (op.children.length > 1) { // 每循环一次都会产生一个合法的儿子
      let SonData = []
      op.children.forEach((opi) => {
        permi.forEach(item => {
          if (opi.path === item) {
            SonData.push(opi)
          }
        })
      })
      FatherSonArr.push({
        ...op,
        children: SonData
      })
    } else {
      FatherSonArr.push(op)
    }
  })

  return FatherSonArr
}

export function filter_menu(constantRouterMap) { // 根据后端返回的路由路径字段匹配有权限菜单项
  let newData = constantRouterMap.map(item => {
    if (item.children.length <= 1) {
      return {
        path: item.path,
        redirect: item.redirect,
        meta: item.meta,
        children: item.children,
        hidden: item.hidden,
      }
    } else {
      return {
        path: item.path,
        redirect: item.redirect,
        meta: item.meta,
        children: item.children.map(item => {
          return {
            path: item.path,
            meta: item.meta
          }
        })
      }
    }
  })
  return newData
}
